package com.itheima.mapper;

import com.itheima.pojo.Class;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface ClassMapper {

    @Insert("insert into class(class_name,room_name,start_time,end_time,head_teacher" +
            ",create_time, update_time) values(#{className}," +
            ",#{roomName},#{startTime},#{endTime},#{headTeacher},#{createTime},#{updateTime})")
    void insert(Class c);

    void delete(List<Integer> ids);

    @Select("select * from class")
    List<Class> list();

    /**
     *  带条件的分页查询（10分）
     *    1. 输入 班级名称 进行搜索，支持模糊查询。
     *    2. 选择开始时间 和 结束时间进行查询，查询结课时间 在开始时间 和 结束时间范围内(包含)的班级数据。
     * @param name
     * @param begin
     * @param end
     * @return
     */
    List<Class> list(String name, LocalDate begin, LocalDate end);


    void update(Class c);
}
